package com.example.demo.mq;

/**
 * @author ghl
 * @version 1.0
 * @date 2022/9/19 10:33
 * @description 摘要
 */
public interface RabbitService {

    /**
     * 发送消息到MQ 使用默认的直连交换机
     *
     * @param routingKey 路由键
     * @param message    消息体
     * @return
     */
    String sendMessage(String routingKey, Object message);

    /**
     * 发送消息到MQ
     *
     * @param exchange   交换机
     * @param routingKey 路由键
     * @param message    消息体
     * @return
     */
    String sendMessage(String exchange, String routingKey, Object message);


    /**
     * 发送延迟消息到MQ
     *
     * @param exchange   交换机 需要为x-delayed-message类型
     * @param routingKey 路由键
     * @param message    消息体
     * @param delay      延迟时间 单位ms
     * @return
     */
    String sendDelayedMessage(String exchange, String routingKey, Object message, int delay);

}
